package com.ssy.lingxi.platform.manage.service.content;

import com.ssy.lingxi.common.model.dto.UserLoginCacheDTO;
import com.ssy.lingxi.common.response.PageData;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.platform.manage.entity.content.MemberColumn;
import com.ssy.lingxi.platform.manage.model.request.common.CommonIdRequest;
import com.ssy.lingxi.platform.manage.model.request.common.CommonStatusRequest;
import com.ssy.lingxi.platform.manage.model.request.content.MemberColumnPageRequest;
import com.ssy.lingxi.platform.manage.model.request.content.MemberColumnRequest;
import com.ssy.lingxi.platform.manage.model.response.HotColumnResponse;

import java.util.List;

/**
 * 内容能力-栏目管理
 * @author wyx
 * @version 2.0.0
 * @date 2021-09-28
 */
public interface IMemberColumnService {

    Wrapper<PageData<MemberColumn>> page(MemberColumnPageRequest request, UserLoginCacheDTO user);

    Wrapper<MemberColumn> get(CommonIdRequest request);

    Wrapper<Void> add(MemberColumnRequest request, UserLoginCacheDTO user);

    Wrapper<Void> update(MemberColumnRequest request, UserLoginCacheDTO user);

    Wrapper<Void> updateStatus(CommonStatusRequest request, UserLoginCacheDTO user);

    Wrapper<Void> delete(CommonIdRequest request, UserLoginCacheDTO user);

    Wrapper<List<MemberColumn>> all(Integer type, UserLoginCacheDTO user);

    Wrapper<List<MemberColumn>> allByMarket(UserLoginCacheDTO user);

    Wrapper<List<HotColumnResponse>> hot(UserLoginCacheDTO user);
}
